package com.example.docking.dao.jindie.request;

import com.example.docking.dao.jindie.response.MaterialEntity_Invoice;
import lombok.Data;

import java.util.List;

/**
 * 采购发票请求类
 * @author: tengguodong
 * @date: 2025/6/9
 */
@Data
public class PurInvoiceRequest {

    /**
     * 商品分录
     */
    private List<MaterialEntity_Invoice> material_entity;

    /**
     * 供应商
     */
    private String supplier_id;

    /**
     * 单据日期
     */
    private String bill_date;

    /**
     * 单据编码
     */
    private String bill_no;

    /**
     * 单据业务类型，0：入库，1：退货；默认为0
     */
    private String bill_trans_type;

    /**
     * 结算供应商详细地址
     */
    private String contact_address;

    /**
     * 城市
     */
    private String contact_city_id;

    /**
     * 联系国家
     */
    private String contact_country_id;

    /**
     * 区域
     */
    private String contact_district_id;

    /**
     * 联系信息-联系人
     */
    private String contact_linkman;

    /**
     * 结算供应商联系电话
     */
    private String contact_phone;

    /**
     * 省份
     */
    private String contact_province_id;

    /**
     * 抵扣预付款
     */
    private String deduction_balance;

    /**
     * 抵扣预付款分录体
     */
    private List<DeductionEntry> deduction_entry;

    /**
     * 部门
     */
    private String dept_id;

    /**
     * 付款抹零
     */
    private Double diff_amount;

    /**
     * 业务员
     */
    private String emp_id;

    /**
     * 单据ID，修改单据时必填，新增不传该字段
     */
    private String id;

    /**
     * 发票类型，1：普票，2：专票；默认为2
     */
    private String ivc_type;

    /**
     * 操作类型，固定取值：special_save，执行特殊保存是必填
     */
    private String operation_key;

    /**
     * 外部单号，如果第三方不使用星辰的ID，可以确保该单号唯一的情况下，新增与更新带上它
     */
    private String out_side_pk_id;

    /**
     * 备注
     */
    private String remark;

    /**
     * 是否从反算单价（保存修改应保持一致传参），true:反算，默认false
     */
    private String reverse_condition_calculate;

    /**
     * 结算供应商
     */
    private String settle_supplier_id;
}
